home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / tpapi1.zip / NETWARE.PA1 < prev    next >
Text File  |  1991-12-04  |  10KB  |  161 lines

  1. {!R! FONT 15; FTMD 15; EXIT;}
  2.  
  3.  
  4. {***************************************************************************}
  5. {** Program : NETWARE                                                     **}
  6. {***************************************************************************}
  7. {** Version : 1.0b            ** Started : 11/11/91  ** Ended :   /  /    **}
  8. {***************************************************************************}
  9. {******************************** Description ******************************}
  10. {***************************************************************************}
  11. {** OOP library for Netware API.                                          **}
  12. {**                                                                       **}
  13. {** This unit forms the lowest level object : NETWARE                     **}
  14. {**                                                                       **}
  15. {**                                                                       **}
  16. {***************************************************************************}
  17. {******************************** Information ******************************}
  18. {***************************************************************************}
  19. {**                                                                       **}
  20. {**                                                                       **}
  21. {**                                                                       **}
  22. {**                                                                       **}
  23. {**                                                                       **}
  24. {***************************************************************************}
  25.  
  26. {$I NETWARE.INC}
  27.  
  28. UNIT NETWARE;
  29.  
  30. INTERFACE
  31.  
  32. USES
  33.  
  34.   nwvar;
  35.  
  36. CONST
  37.  
  38.   MaxSlotsInShell = 8;
  39.  
  40. TYPE
  41.  
  42.   BufferNameType               = (Request, Receive);
  43.   BufferType                   = ARRAY [0 .. 520] OF BYTE;
  44.   ConnectionIDTableArrayType   = ARRAY [1 .. MaxSlotsInShell] OF ConnectionIDTableType;
  45.   FileServerNameTableArrayType = ARRAY [1 .. MaxSlotsInShell] OF Byte48ArrayType;
  46.  
  47.   pNetwareOBJ = ^NetwareOBJ;
  48.   NetwareOBJ  = object
  49.  
  50.     nwRequestBuffer : BufferType;
  51.     nwReceiveBuffer : BufferType;
  52.     nwReqOffset     : WORD;
  53.     nwRecOffset     : WORD;
  54.  
  55.     ConnectionIDTablePtr    : ^ConnectionIDTableArrayType;
  56.     FileServerNameTablePtr  : ^FileServerNameTableArrayType;
  57.     DriveConnectionTablePtr : ^Byte32ArrayType;
  58.     DriveFlagTablePtr       : ^Byte32ArrayType;
  59.     DriveHandleTablePtr     : ^Byte32ArrayType;
  60.     FileServerNameTable     : ARRAY [1 .. MaxSlotsInShell] OF ObjectNameType;
  61.     ServerConnectionIDTable : ARRAY [1 .. MaxSlotsInShell] OF ServerIDTableType;
  62.  
  63.     constructor Init;
  64.     PROCEDURE   GetWrkstnEnv                  (VAR VersionString);
  65.     FUNCTION    PrConnRequest                 (FunctionNumber : BYTE; ConnectionID : WORD) : WORD;
  66.     FUNCTION    FileServiceRequest            (FunctionNumber : BYTE; VAR RequestBuffer; RequestBufferLength : WORD;
  67.                                                VAR ReceiveBuffer; ReceiveBufferLength : WORD) : WORD;
  68.     FUNCTION    ServerReq                     (ServerNumber : WORD; FunctionNumber, SubFunctionNumber : BYTE) : WORD;
  69.     PROCEDURE   ServerRequest                 (ServerNumber : WORD; FunctionNumber, SubFunctionNumber : BYTE);
  70.     FUNCTION    ShellRequest                  (FunctionNumber : BYTE; VAR RequestBuffer, ReceiveBuffer) : WORD;
  71.     FUNCTION    TableReq                      (FunctionNumber, SubFunctionNumber : BYTE; VAR TableAddr) : WORD;
  72.     FUNCTION    NCPRequest                    (FunctionNumber : BYTE; RequestBufferLength : WORD; VAR RequestBuffer;
  73.                                                ReceiveBufferLength : WORD; VAR ReceiveBuffer) : WORD;
  74.     FUNCTION    NCPConnRequest                (ConnectionID : WORD; FunctionNumber : BYTE; RequestBufferLength : WORD;
  75.                                                VAR RequestBuffer; ReceiveBufferLength : WORD; VAR ReceiveBuffer) : WORD;
  76.     FUNCTION    ClrRelReq                     (FunctionNumber : BYTE; VAR Name) : WORD;
  77.     PROCEDURE   SetClearReq                   (FunctionNumber : BYTE);
  78.     FUNCTION    PhysRecReq                    (FunctionNumber : BYTE; Handle : WORD; ROffSet : LONGINT; RLength : LONGINT;
  79.                                                Directive : BYTE; TimeOut : WORD) : WORD;
  80.     FUNCTION    SemaphorReq                   (FunctionNumber : BYTE; Handle : LONGINT; TimeOut : WORD) : WORD;
  81.     FUNCTION    LockReq                       (FunctionNumber, Mode : BYTE; TimeOut : WORD) : WORD;
  82.     FUNCTION    LogReq                        (FunctionNumber : BYTE; VAR LogName; Directive : BYTE; TimeOut : WORD) : WORD;
  83.     FUNCTION    LPTCapReq                     (FunctionNumber, Device : BYTE) : WORD;
  84.     FUNCTION    PrnSrvRequest                 (FunctionNumber : BYTE; BufferSize : WORD; VAR ReceiveBuffer;
  85.                                                PrinterDevice : BYTE) : WORD;
  86.     FUNCTION    PrCapRequest                  (FunctionNumber, SubFunctionNumber : BYTE) : WORD;
  87.     PROCEDURE   GetConnectionIDTable;
  88.     PROCEDURE   GetDriveConnectionID;
  89.     PROCEDURE   GetDriveFlagTable;
  90.     PROCEDURE   GetDriveHandleTable;
  91.     PROCEDURE   GetFileServerNameTable;
  92.     FUNCTION    ScanShellTable                (FileServerAddress : ServerAddressType) : WORD;
  93.     FUNCTION    GetFirstFreeSlotInShell : WORD;
  94.     PROCEDURE   PutFileServerInShell          (ConnectionID : WORD);
  95.     FUNCTION    NextOrderNumberInShell : WORD;
  96.     PROCEDURE   SortShell                     (AddServerToShell : BOOLEAN);
  97.     PROCEDURE   AddFileServerToShell          (ConnectionID : WORD; AddServerToShell : BOOLEAN;
  98.                                                FileServerAddress : ServerAddressType);
  99.     PROCEDURE   RemoveFileServerFromShell     (ConnectionID : WORD; ClearShell : BOOLEAN);
  100.     PROCEDURE   AddToFileServerNameTable      (ConnectionID : WORD; ServerName : ObjectNameType);
  101.  
  102.     {MISC FUNCTIONS}
  103.  
  104.     FUNCTION    UpperCaseNW                   (InputString : STRING) : STRING;
  105.     PROCEDURE   InitRequestBuffer;
  106.     PROCEDURE   InitReceiveBuffer;
  107.     PROCEDURE   AddByte                       (ByteValue : BYTE);
  108.     PROCEDURE   AddWord                       (WordValue : WORD);
  109.     PROCEDURE   AddWordSwap                   (WordValue : WORD);
  110.     PROCEDURE   AddLongSwap                   (LongValue : LONGINT);
  111.     PROCEDURE   AddArray                      (VAR Buffer; BufferLength : WORD);
  112.     PROCEDURE   AddString                     (InputString : STRING; Start : BYTE);
  113.     PROCEDURE   AddChar                       (CharValue : CHAR);
  114.     PROCEDURE   AddTotal                      (BufferName : BufferNameType);
  115.     PROCEDURE   GetByte                       (VAR Buffer; Location : WORD);
  116.     PROCEDURE   GetWord                       (VAR Buffer; Location : WORD);
  117.     PROCEDURE   GetWordSwap                   (VAR Buffer; Location : WORD);
  118.     PROCEDURE   GetLong                       (VAR Buffer; Location : WORD);
  119.     PROCEDURE   GetLongSwap                   (VAR Buffer; Location : WORD);
  120.     PROCEDURE   GetLongReverse                (VAR Buffer; Location : WORD);
  121.     PROCEDURE   GetArray                      (VAR Buffer; Location, BufferLength : WORD);
  122.     PROCEDURE   GetString                     (VAR Buffer; Location, BufferLength : WORD);
  123.     FUNCTION    GetTotal                      (BufferName : BufferNameType) : WORD;
  124.     PROCEDURE   SetTotal                      (BufferName : BufferNameType; Total : WORD);
  125.     PROCEDURE   SetStart                      (Start : WORD);
  126.  
  127.     PROCEDURE   DoWordSwap                    (Location : WORD);
  128.     PROCEDURE   DoLongSwap                    (Location : WORD);
  129.     FUNCTION    WordSwap                      (InputWord : WORD) : WORD;
  130.     FUNCTION    LongSwap                      (InputLong : LONGINT) : LONGINT;
  131.  
  132.     FUNCTION    CheckNetwareVersion           (MinimumVersion, MinimumSubVersion, MinimumRevision,
  133.                                                MinimumSFT, MinimumTTS : WORD) : WORD;
  134.     FUNCTION    ReturnNetwareVersion          (VAR MinimumVersion, MinimumSubVersion, MinimumRevision,
  135.                                                MinimumSFT, MinimumTTS : WORD) : WORD;
  136.     FUNCTION    IsV3Supported                 (ConnectionID : WORD) : WORD;
  137.     FUNCTION    IsV22Supported                (ConnectionID : WORD) : WORD;
  138.  
  139.     FUNCTION    GetSearchOrderFromDriveLetter (Path : PathNameType; DriveLetter : CHAR) : WORD;
  140.     FUNCTION    GetFileServerAddress          (ServerName : ObjectNameType;
  141.                                                VAR FileServerAddress : ServerAddressType) : BOOLEAN;
  142.  
  143.     PROCEDURE   ConvertNetworkNumber          (NetworkNumber : Byte4ArrayType; VAR OutputString : String8Type);
  144.     PROCEDURE   ConvertNodeAddress            (NodeAddress : Byte6ArrayType; VAR OutputString : String12Type);
  145.     FUNCTION    HexString                     (InputLong : LONGINT; Places : BYTE) : STRING;
  146.     FUNCTION    PtrOfs                        (InPointer : POINTER; ArrayNum, ArraySize : WORD) : POINTER;
  147.     PROCEDURE   SwapAsciiZ                    (InPPtr, InAPtr : POINTER; Len : BYTE; ToPascal : BOOLEAN);
  148.     PROCEDURE   PtToAsciiZ                    (InPointer, Outpointer : POINTER; Len : BYTE);
  149.     FUNCTION    LengthAsciiZ                  (VAR Buffer) : WORD;
  150.     FUNCTION    AsciiZToStr                   (VAR Buffer; Max, StartPosition : BYTE) : STRING;
  151.     PROCEDURE   StrToAsciiZ                   (InputString : STRING; VAR OutputAsciiZ);
  152.     FUNCTION    IntToStr                      (InputNumber : LONGINT) : STRING;
  153.  
  154.     PROCEDURE   _NWMapWildPath                (Path : PathNameType; VAR OutPath : PathNameType);
  155.  
  156.  
  157.     destructor  Done; virtual;
  158.  
  159.   END;
  160.  
  161.